home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / webmacro.vim < prev    next >
Encoding:
Text File  |  2001-05-11  |  3.4 KB  |  83 lines

  1. " WebMacro syntax file
  2. " Language:     WebMacro
  3. " Maintainer:   Claudio Fleiner <claudio@fleiner.com>
  4. " URL:          http://www.fleiner.com/vim/syntax/webmacro.vim
  5. " Last Change:  2001 May 10
  6.  
  7. " webmacro is a nice little language that you should
  8. " check out if you use java servlets.
  9. " webmacro: http://www.webmacro.org
  10.  
  11. " For version 5.x: Clear all syntax items
  12. " For version 6.x: Quit when a syntax file was already loaded
  13. if !exists("main_syntax")
  14.   if version < 600
  15.     syntax clear
  16.   elseif exists("b:current_syntax")
  17.   finish
  18. endif
  19.   let main_syntax = 'webmacro'
  20. endif
  21.  
  22.  
  23. if version < 600
  24.   source <sfile>:p:h/html.vim
  25. else
  26.   runtime! syntax/html.vim
  27.   unlet b:current_syntax
  28. endif
  29.  
  30. syn cluster htmlPreProc add=webmacroIf,webmacroUse,webmacroBraces,webmacroParse,webmacroInclude,webmacroSet,webmacroForeach,webmacroComment
  31.  
  32. syn match webmacroVariable "\$[a-zA-Z0-9.()]*;\="
  33. syn match webmacroNumber "[-+]\=\d\+[lL]\=" contained
  34. syn keyword webmacroBoolean true false contained
  35. syn match webmacroSpecial "\\." contained
  36. syn region  webmacroString   contained start=+"+ end=+"+ contains=webmacroSpecial,webmacroVariable
  37. syn region  webmacroString   contained start=+'+ end=+'+ contains=webmacroSpecial,webmacroVariable
  38. syn region webmacroList contained matchgroup=Structure start="\[" matchgroup=Structure end="\]" contains=webmacroString,webmacroVariable,webmacroNumber,webmacroBoolean,webmacroList
  39.  
  40. syn region webmacroIf start="#if" start="#else" end="{"me=e-1 contains=webmacroVariable,webmacroNumber,webmacroString,webmacroBoolean,webmacroList nextgroup=webmacroBraces
  41. syn region webmacroForeach start="#foreach" end="{"me=e-1 contains=webmacroVariable,webmacroNumber,webmacroString,webmacroBoolean,webmacroList nextgroup=webmacroBraces
  42. syn match webmacroSet "#set .*$" contains=webmacroVariable,webmacroNumber,webmacroNumber,webmacroBoolean,webmacroString,webmacroList
  43. syn match webmacroInclude "#include .*$" contains=webmacroVariable,webmacroNumber,webmacroNumber,webmacroBoolean,webmacroString,webmacroList
  44. syn match webmacroParse "#parse .*$" contains=webmacroVariable,webmacroNumber,webmacroNumber,webmacroBoolean,webmacroString,webmacroList
  45. syn region webmacroUse matchgroup=PreProc start="#use .*" matchgroup=PreProc end="^-.*" contains=webmacroHash,@HtmlTop
  46. syn region webmacroBraces matchgroup=Structure start="{" matchgroup=Structure end="}" contained transparent
  47. syn match webmacroBracesError "[{}]"
  48. syn match webmacroComment "##.*$"
  49. syn match webmacroHash "[#{}\$]" contained
  50.  
  51. " Define the default highlighting.
  52. " For version 5.7 and earlier: only when not done already
  53. " For version 5.8 and later: only when an item doesn't have highlighting yet
  54. if version >= 508 || !exists("did_webmacro_syn_inits")
  55.   if version < 508
  56.     let did_webmacro_syn_inits = 1
  57.     command -nargs=+ HiLink hi link <args>
  58.   else
  59.     command -nargs=+ HiLink hi def link <args>
  60.   endif
  61.  
  62.   HiLink webmacroComment CommentTitle
  63.   HiLink webmacroVariable PreProc
  64.   HiLink webmacroIf webmacroStatement
  65.   HiLink webmacroForeach webmacroStatement
  66.   HiLink webmacroSet webmacroStatement
  67.   HiLink webmacroInclude webmacroStatement
  68.   HiLink webmacroParse webmacroStatement
  69.   HiLink webmacroStatement Function
  70.   HiLink webmacroNumber Number
  71.   HiLink webmacroBoolean Boolean
  72.   HiLink webmacroSpecial Special
  73.   HiLink webmacroString String
  74.   HiLink webmacroBracesError Error
  75.   delcommand HiLink
  76. endif
  77.  
  78. let b:current_syntax = "webmacro"
  79.  
  80. if main_syntax == 'webmacro'
  81.   unlet main_syntax
  82. endif
  83.